
Page({
  data: {
    messages: [],
    tabs: [
      { id: 0, name: '聊天' },
      { id: 1, name: '通话' },
    ],
    currentTab: 0,
    inputValue: '',
    currentTime: '',
    userInfo: '',
  },

  onLoad: function() {
    this.updateTime();
  },

  updateTime() {
    this.setData({
      currentTime: this.getCurrentTime()
    });
  },

  // 切换选项卡的函数
  switchTab: function(e) {
    // 获取点击的选项卡索引，通过 dataset.index 获取
    const index = e.currentTarget.dataset.index;
    this.setData({ 
      currentTab: index,
    })
  },

  getCurrentTime: function () {
    const date = new Date();
    
    // 获取星期
    const daysOfWeek = ["日", "一", "二", "三", "四", "五", "六"];
    const day = daysOfWeek[date.getDay()];
    
    // 获取小时和分钟
    const hours = String(date.getHours()).padStart(2, "0");
    const minutes = String(date.getMinutes()).padStart(2, "0");
  
    // 格式化输出
    const formattedTime = `星期${day} ${hours}:${minutes}`;
    return formattedTime;
  },

  sendMessage: function () {
  //尝试获取用户信息，但似乎需要引导用户到小程序设置中手动授权（未实现）
    wx.getSetting({
      success: (res) => {
        if (res.authSetting['scope.userInfo']) {
          // 如果已授权，直接获取用户信息
          wx.getUserInfo({
            success: (userRes) => {
              this.setData({
                userInfo: userRes.userInfo.avatarUrl
              });
            },
            fail: (err) => {
              console.log('获取用户信息失败', err);
            }
          });
        }
      },
      fail: (err) => {
        console.log('获取授权设置失败', err);
      }
    });
    setTimeout(()=> {
      if (this.data.inputValue) {
        // 创建一个新的消息对象
        var newMessage = {
          user: 'user',
          content: this.data.inputValue,
          avatar: this.data.userInfo
        };
         //因为没有接入AI，使用这种方式调试
         // 创建一个模拟的助手消息对象，包含助手类型、消息内容和助手头像路径
        var siMessage = {
          user: 'assistant',
          content: '111',
          avatar: '/static/head.jpg'
        };
        // 将新消息添加到messages数组中
        var messages = this.data.messages;
        messages.push(newMessage);
        messages.push(siMessage);
        // 更新数据
        this.setData({
          messages: messages,
          inputValue: ''
        });
      }
    },850)//加载需要时间，如果低于这个值的话第一条信息无法加载出头像，暂无更好办法

  },

  onInput: function (e) {
    this.setData({
      inputValue: e.detail.value
    });
  },

  onScrollToLower() {
    this.scrollToBottom();
  },

  scrollToBottom() {
    const query = wx.createSelectorQuery();
    query.select('#messageList').boundingClientRect();
    query.exec((res) => {
      if (res[0]) {
        this.setData({
          scrollTop: res[0].bottom
        });
      }
    });
  }

});